﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DTO
{
    public class Equipamento
    {
        private static Dictionary<TipoEquipamento, int[]> campos;

        public static Dictionary<TipoEquipamento, int[]> Campos
        {
            get
            {
                if (campos == null)
                    CarregarConfigCampos();
                return campos;
            }
        }

        public Equipamento()
        {
            if (campos == null)
            {
                CarregarConfigCampos();
            }
        }

        private static void CarregarConfigCampos()
        {
            campos = new Dictionary<TipoEquipamento, int[]>();
            campos.Add(TipoEquipamento.Agência,             new int[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 });
            campos.Add(TipoEquipamento.Compras,             new int[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 });
            campos.Add(TipoEquipamento.CulturaELazer,       new int[] { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 });
            campos.Add(TipoEquipamento.Gastronomia,         new int[] { 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0 });
            campos.Add(TipoEquipamento.Hospedagem,          new int[] { 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1 });
            campos.Add(TipoEquipamento.Noturno,             new int[] { 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0 });
            campos.Add(TipoEquipamento.Religião,            new int[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 });
            campos.Add(TipoEquipamento.Saúde,               new int[] { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 });
            campos.Add(TipoEquipamento.Serviços,            new int[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 });
            campos.Add(TipoEquipamento.Transportes,         new int[] { 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0 });
            campos.Add(TipoEquipamento.UtilidadePublica,    new int[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0 });
        }

        public TipoEquipamento Tipo
        {
            get;
            set;
        }
        public int TipoDetalhado
        {
            get;
            set;
        }
        public int Id
        {
            get;
            set;
        }
        public string Nome
        {
            get;
            set;
        }
        public string Descrição
        {
            get;
            set;
        }
        public string Email
        {
            get;
            set;
        }
        public string Site
        {
            get;
            set;
        }
        public string Telefone
        {
            get;
            set;
        }
        public string Fax
        {
            get;
            set;
        }
        public string Endereco
        {
            get;
            set;
        }
        public string Rua
        {
            get;
            set;
        }
        public string Numero
        {
            get;
            set;
        }
        public string Bairro
        {
            get;
            set;
        }
        public string Cep
        {
            get;
            set;
        }
        // Gastronomia
        public string Capacidade
        {
            get;
            set;
        }
        public string Especialidade
        {
            get;
            set;
        }
        // Hospedagem
        public string UnidadesHabitacionais
        {
            get;
            set;
        }
        public string Cenário
        {
            get;
            set;
        }
        public string NoLocal
        {
            get;
            set;
        }
        public string NoHotel
        {
            get;
            set;
        }
        // Transportes
        public string Rotas
        {
            get;
            set;
        }
        public string Companhia
        {
            get;
            set;
        }
        public string Tarifas
        {
            get;
            set;
        }
        // Noturno
        public string Couvert
        {
            get;
            set;
        }
        // Vários
        public string FormasPagamento
        {
            get;
            set;
        }
        public string FaixaPreços
        {
            get;
            set;
        }
        public string Equipamentos
        {
            get;
            set;
        }
        public string Serviços
        {
            get;
            set;
        }
        public string HorarioFuncionamento
        {
            get;
            set;
        }

        public string Reservas { get; set; }

    }
}
